package uiMain;

import gestorbienraizok.usuarios.Funcionario;
import gestorbienraizok.usuarios.FuncionarioJefe;
import static uiMain.bienRaizOk.formatearPrecio;
import static uiMain.bienRaizOk.usuarioActual;

public class OpcionListarFuncionarios extends OpcionDeMenu {

    private String nombreParaMostrar = " Mostrar mis subordinados";

    @Override
    public void ejecutar() {
        FuncionarioJefe esteFuncionarioJefe = (FuncionarioJefe) usuarioActual;
        if (esteFuncionarioJefe.getListaDeSubordinados().size() != 0) {
            System.out.println("Usted tiene los siguientes funcionarios a su cargo:\n");
            System.out.println("No.   Cédula       Nombre                    Salario de este mes");
            System.out.println("----------------------------------------------------------------");
            for (int i = 0; i < esteFuncionarioJefe.getListaDeSubordinados().size(); i++) {
                Funcionario esteFuncionario = esteFuncionarioJefe.getListaDeSubordinados().get(i);
                System.out.print(String.format("%-6d", (i + 1)));
                System.out.print(String.format("%-13d", esteFuncionario.getCedula()));
                System.out.print(String.format("%-26s", esteFuncionario.getNombre()));
                System.out.println(formatearPrecio(esteFuncionario.calcularSalarioTotalAHoy()));
            }
        } else {
            System.out.println("Usted no tiene funcionarios a su cargo.");
        }
    }

    @Override
    public String toString() {
        return nombreParaMostrar;
    }
    
    @Override
    public String toStringParaMostrarElNivel() {
        return nombreParaMostrar.trim().concat("...................................................................").substring(0,67) + "Funcionarios jefes";
    }
}
